﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using QUANLIHOCSINH.BussinessObject;
using QUANLIHOCSINH.DataAccess;

namespace QUANLIHOCSINH.BussinessLogic
{
    class HOCSINHBUS
    {
        // Ket Noi Co So Du Lieu
        ConnectData dataConn = new ConnectData();
        public int DemSoLuong()
        {
            string sql = "select count(*) as SoLuong from HocSinh";

            DataTable tbQuiDinh = dataConn.GetData(sql);
   
            DataRow rowUser = tbQuiDinh.Rows[0];
            return int.Parse(rowUser["SoLuong"].ToString());
        }
        public DataTable LayDanhSachHocSinhChuaPhanLop()
        {
            ConnectData coon = new ConnectData();
            return dataConn.GetData("select *  from  HocSinh where    MaHocSinh  not in ( select MaHocSinh  from PhanLop)");
        }
        // Ham Lay Danh Sach Hoc Sinh
        public DataTable LayDanhSachHocSinh()
        {  
            return dataConn.GetData("select MaHocSinh,TenHocSinh,CONVERT(VARCHAR(10), ngaysinh, 103) as ngaysinh,GioiTinh,Email,DiaChi from  HocSinh");
        }
        // Lay ID Ke Tiep
        public string NextID()
        {
             // Neu Chua Du Lieu Thi Mac Dinh Khoi Tao La HS001
            if (dataConn.GetLastID("hocsinh", "mahocsinh").Equals(""))
            {
                return "HS001";
            }
            else
            {
                return Utility.LayMaTuDong(dataConn.GetLastID("hocsinh", "mahocsinh"), "HS");
            }
        }
        // Ham Kiem Tra Thong Tin Dien Vao 
        public bool KiemTraHocSinh(HOCSINH hs)
        {
            //Kiem Tra Ten Hoc Sinh
            if (hs.tenhocsinh.Equals(""))
            {
                MessageBox.Show("Họ Tên Không Hợp Lệ");
                return false;
            }
            //Kiem Tra Ngay Sinh
            if (hs.ngaysinh.Equals(""))
            {
                MessageBox.Show("Ngày Sinh Không Hợp Lệ");
                
                return false;
            }
            else
            {
                //Kiem Tra Ngay Sinh Co Dung Dinh Dang
                if (Utility.KiemTraNgay("/", hs.ngaysinh) != true)
                {
                    return false;
                }
                
            }
            //Kiem Tra Dia Chi
            if(hs.diachi.Equals(""))
            {
                MessageBox.Show("Địa Chỉ Không Hợp Lệ");
                return false;
            }
            //Kiem Tra Email
            if (hs.email.Equals(""))
            {
                MessageBox.Show("Email Không Hợp Lệ");
                return false;
            }
            return true;
        }
        public bool ThemHocSinh(HOCSINH hs)
        {
            //Kiem Tra Thong Tin Hoc Sinh
            if (KiemTraHocSinh(hs))
            {
                //Tien Hanh Them Hoc Sinh
                string sql = string.Format("INSERT INTO HOCSINH (mahocsinh,tenhocsinh,ngaysinh,gioitinh,email,diachi)  VALUES ('{0}',N'{1}','{2}','{3}','{4}',N'{5}')", hs.mahocsinh, hs.tenhocsinh, Utility.FormatDay("/", hs.ngaysinh), hs.gioitinh, hs.email, hs.diachi);
                if (dataConn.ExecuteQuery(sql))
                {
                    //Thong Bao Cho Thanh Cong
                    MessageBox.Show("Thêm Học Sinh Thàng Công", "Thông Tin", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return true;
                }
            }
            return false;
        }
        public bool SuaHocSinh(HOCSINH hs)
        {
            if (KiemTraHocSinh(hs))
            {

                string sql = string.Format("UPDATE HOCSINH SET tenhocsinh = N'{0}' , ngaysinh = '{1}' , gioitinh = '{2}' , email = '{3}' , diachi = N'{4}' where mahocsinh = '{5}'", hs.tenhocsinh, Utility.FormatDay("/", hs.ngaysinh), hs.gioitinh, hs.email, hs.diachi, hs.mahocsinh);
                if (dataConn.ExecuteQuery(sql))
                {
                    MessageBox.Show("Cập Nhật Học Sinh Thàng Công", "Thông Tin", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return true;
                }
            }
            return false;
        }
        public void XoaHocSinh(HOCSINH hs)
        {

            //MessageBox.Show(Utility.LayMaTuDong(dataConn.GetLastID("hocsinh", "mahocsinh"), "HS"));
            string sql = string.Format("DELETE  FROM HOCSINH Where mahocsinh = '{0}'", hs.mahocsinh);
            if (dataConn.ExecuteQuery(sql))
            {
                MessageBox.Show("Thêm Học Sinh Thàng Công", "Thông Tin", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }
            
        }
      
    }
}
